$(function() {
	// 从URL中获取productId参数的值
	var productId = getQueryString('productId');
	// 通过productId获取商品信息的URL
	var infoUrl = '/shopadmin/getproductbyid?productId=' + productId;
	// 获取当前店铺下商品类别列表
	var categoryUrl = '/shopadmin/getproductcategorylist';
	// 更新商品信息的URL
	var productPostUrl = '/shopadmin/modifyproduct';
	// 用于标识当前页面用于添加还是编辑
	var isEdit = false;
	if (productId) {
		// 含有参数productId则为编辑
		getInfo(productId);
		isEdit = true;
	} else {
		getCategory();
		productPostUrl = '/shopadmin/addproduct';
	}

	// 获取需要编辑的商品信息，赋值给表单
	function getInfo(id) {
		$.getJSON(infoUrl,function(data) {
			if (data.success) {
				// 将获取到的商品信息赋值给表单
				var product = data.product;
				$('#product-name').val(product.productName);
				$('#product-desc').val(product.productDesc);
				$('#priority').val(product.priority);
				$('#normal-price').val(product.normalPrice);
				$('#promotion-price').val(product.promotionPrice);
				// 匹配商品类别以及店铺的类别列表
				var optionHtml = '';
				var optionArr = data.productCategoryList;
				var optionSelected = product.productCategory.productCategoryId;
				optionArr.map(function(item, index) {
					var isSelect = optionSelected === item.productCategoryId ? 'selected' : '';
					optionHtml += '<option data-value="'
							+ item.productCategoryId
							+ '"'
							+ isSelect
							+ '>'
							+ item.productCategoryName
							+ '</option>';
				});
				$('#category').html(optionHtml);
			}
		});
	}

	// 获取店铺下的类别列表
	function getCategory() {
		$.getJSON(categoryUrl, function(data) {
			if (data.success) {
				var productCategoryList = data.data;
				var optionHtml = '';
				productCategoryList.map(
					function(item, index) {
						optionHtml += '<option data-value="'
								+ item.productCategoryId + '">'
								+ item.productCategoryName + '</option>';
					}
				);
				$('#category').html(optionHtml);
			}
		});
	}

	// 对于商品详情图的控制，若最后一个元素发生变化(上传图片)且数量未超过6个，则生成新的文件上传代码
	$('.detail-img-div').on('change', '.detail-img:last-child', function() {
		if ($('.detail-img').length < 6) {
			$('#detail-img').append('<input type="file" class="detail-img">');
		}
	});

	// 提交按钮，对编辑和添加做不同的事件响应
	$('#submit').click(
			function() {
				// 创建商品对象，从表单中获取对应的属性值
				var product = {};
				product.productName = $('#product-name').val();
				product.productDesc = $('#product-desc').val();
				product.priority = $('#priority').val();
				product.normalPrice = $('#normal-price').val();
				product.promotionPrice = $('#promotion-price').val();
				// 获取选定商品类别值
				product.productCategory = {productCategoryId :
						$('#category').find('option').not(function() {
								return !this.selected;
							}).data('value')
				};
				product.productId = productId;
				// 获取缩略图文件流
				var thumbnail = $('#small-img')[0].files[0];
				// console.log(thumbnail);
				// 生成表单对象用于接收参数并传递值给后台
				var formData = new FormData();
				formData.append('thumbnail', thumbnail);
				// 遍历商品详情图，获取文件流
				$('.detail-img').map(
					function(index, item) {
						// 是否有详情图文件
						if ($('.detail-img')[index].files.length > 0) {
							formData.append(
								'productImg' + index,$('.detail-img')[index].files[0]
							);
						}
					}
				);
				// 将产品json对象转成字符流保存到表单对象键值为productStr中
				formData.append('productStr', JSON.stringify(product));
				// 获取输入验证码
				var verifyCodeActual = $('#j_captcha').val();
				if (!verifyCodeActual) {
					$.toast('请输入验证码！');
					return;
				}
				formData.append("verifyCodeActual", verifyCodeActual);
				// 将数据提交至后台处理
				$.ajax({
					url : productPostUrl,
					type : 'POST',
					data : formData,
					contentType : false,
					processData : false,
					cache : false,
					success : function(data) {
						if (data.success) {
							$.toast('提交成功！');
							$('#captcha_img').click();
						} else {
							$.toast('提交失败！');
							$('#captcha_img').click();
						}
					}
				});
			});

});